Universidad de Costa Rica, escuela de Geografía

GF-0604 Procesamiento de datos geográficos

Profesor: Manuel Vargas del Valle

Introducción:

Este informe tiene como finalidad demostrar la utilidad de utilizar datos y realizar diferentes estadísticos con ellos como tablas y gráficos con diferentes paquetes de R. Estos paquetes se encuentran especificados en la sección de carga de paquetes y lectura de datos. Además, es importante señalar que esta página web cuenta con una serie de botones “code”, que permiten al lector observar el código utilizado para generar cada uno de los productos.

Desarrollo:

knitr::opts_chunk$set(echo = TRUE)

Carga de paquetes y lectura de datos:

### Carga de paquetes:
library(dplyr)
library(ggplot2)
library(ggthemes)
library(plotly)
library(DT)
library(readr)
library(readxl)
library(lubridate)
library(tidyverse)
Est_pol <-
read_xls("estadisticaspoliciales2021.xls") 

Tabla 1. DT interactiva de las estadísticas policiales registradas por el (OIJ) en el 2021:

Est_pol %>%
  dplyr::select(Delito, Fecha, Victima, Edad, Genero, Provincia, Canton) %>%
  datatable(colnames = c(
    "Delito",
    "Fecha",
    "Víctima",
    "Edad",
    "Género",
    "Provincia",
    "Cantón"
  ), options = list(pageLength = 5, language = list(url = '//cdn.datatables.net/plug-ins/1.10.11/i18n/Spanish.json')))
## Warning in instance$preRenderHook(instance): It seems your data is too big
## for client-side DataTables. You may consider server-side processing: https://
## rstudio.github.io/DT/server.html

Gráfico 1. Cantidad de delitos por tipo de delito registrados por el (OIJ) en el 2021:

# Gráfico de la cantidad de delitos por tipo de delito:

Delitos <-
Est_pol %>%
  count(Delito) %>%
  ggplot(aes(x = reorder(Delito, n), y = n)) + 
  geom_bar(stat = "identity") +
coord_flip() +
ggtitle("Cantidad de delitos por tipo de delito") + 
  xlab("Tipo de delito") + 
  ylab("Cantidad de delitos") + 
  theme_minimal()
ggplotly(Delitos) %>% 
  config(locale = 'es')

Gráfico 2. Muestra interactivamente la cantidad de delitos por mes registrados por el (OIJ) en el 2021:

Del_mes <- Est_pol %>%
  dplyr::select(Fecha, Delito, Hora)
graph2 <- 
Del_mes %>% mutate(mes = month(Fecha, label = FALSE)) %>%
  ggplot() +
  geom_bar(aes(x = mes), fill = "navy", color = "gold") + 
  ggtitle("Cantidad de delitos por mes") + 
  xlab("Mes (1-11)") + 
  ylab("Cantidad") + 
  theme_minimal() 
ggplotly(graph2) %>%
  config(locale = 'es')
Nota: Los datos utilizados para generar el gráfico 2, cuenta con datos únicamente de Enero a Noviembre del mes 1 al 11.

Gráfico 3. Barras apiladas: Muestra la proporción de delitos por género registrados por el (OIJ) en el 2021:

Propor_gen <- Est_pol %>%
  dplyr::select(Delito, Genero)
# ggplotly - Gráfico de barras apiladas de proporciones

Apiladas_propor_genero <-
  Propor_gen %>%
  ggplot(aes(x = Genero, fill = Delito)) + 
  geom_bar(position = "fill") +
  ggtitle("Proporción de la ocurrencia de delitos por género") +
  xlab("Género") +
  ylab("Proporción") +
  labs(fill = "Delito") +
  theme_minimal()

ggplotly(Apiladas_propor_genero) %>% config(locale = 'es')

Gráfico 4. Cantidad de delitos en los cantones de; San José, Alajuela, Cartago y Heredia, registrados por el (OIJ) en el 2021:

Delitos_Cantonal <- Est_pol %>%
  dplyr::select(Canton)
Delis_Canto <- 
  filter(Delitos_Cantonal, grepl('HEREDIA|ALAJUELA|CARTAGO|SAN JOSE', Canton))
Graph_cantones_ASHC <-
Delis_Canto %>% 
  count(Canton) %>%
  ggplot(aes(x = reorder(Canton, n), y = n)) + 
  geom_bar(stat = "identity") + 
ggtitle("Delitos en los cantones de San José, Alajuela, Cartago y Heredia") + 
  xlab("Cantón") + 
  ylab("Cantidad de delitos") + 
  theme_minimal()
ggplotly(Graph_cantones_ASHC) %>% 
  config(locale = 'es')

Conclusiones:

Utilizar las herramientas del tidyverse son de gran utilidad porque cuentan con una gran cantidad de características que permiten al usuario manejar bases de datos, generar tablas y diferentes tipos de gráficos.

Ggplot2 ha demostrado ser un paquete con una gran versatilidad, y es considerado de gran utilidad para el análisis estadístico de los datos.Del mismo modo, este paquete permite generar productos con visualizaciones que atraen a los lectores e incluso interactivas que permiten al usuario interactuar y consultar diferentes tipos de información dentro del producto generado, como las que permite generar el plotly de ggplot.

Utilizar metodologías similares a las empleadas en este reporte, permite que el geógrafo se perfile como un profesional capaz de analizar datos mediante un lenguaje de programación como R que agiliza los procesos y además brinda más herramientas de calidad para el quehacer científico.